<?php
/**
 * Валидация URL-адреса
 * 
 * @category Phorm
 * @package Validate
 * @name /Phorm/Validate/Uri.php
 * @copyright phorm.ru
 * @since 07.01.2013
 * @author vladimir@kachalov.net
 */

class Phorm_Validate_Uri extends Zend_Validate_Abstract {
		
	const MSG_URI = 'msgUri';
	 
	/**
	 * Шаблоны сообщений
	 * @var array
	 */
	protected $_messageTemplates = array(
		self::MSG_URI => 'Неверный адрес URL'
	);


	/**
	 * Непосредственно метод валидации
	 *
	 * @param string $value
	 * @param mixed $context
	 * @return boolean
	 */
	 
	public function isValid($value, $context = null) {
		
		if(!preg_match('#^http://#',$value)) $value = 'http://' . $value;
		
		$this->_setValue($value);
		
		if(Zend_Uri::check($value)) return true;
	       
		$this->_error(self::MSG_URI); 
		return false;
	        
	}
}
	